package br.com.inventario.controller;

import java.util.List;

import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import br.com.inventario.jdbc.dao.UsuarioDAO;
import br.com.inventario.jdbc.modelos.Usuario;

@Controller
public class UsuarioController {

	@RequestMapping("MostraAutenticar")
	public String motraautentica() {
		return "/Autenticacao/autenticacao";
	}

	@RequestMapping("EfetuaLogin")
	public String efetualogin(Usuario ousuario, HttpSession session) {
		System.out.println("teste chegou 1");
		
		if (new UsuarioDAO().atenticaUsuario(ousuario)) {
			System.out.println("teste chegou 2");
			session.setAttribute("usuarioLogado", ousuario);
			return "Menu/menu";
			
			//return "redirect:MostraMenu";
		}
		return "redirect:MostraAutenticar";
	}
	
	@RequestMapping("MostraAdicionaUsuario")
	public String mostra(){
		System.out.println("Entrou");
		return "Usuario/adicionaUsuario";
	}
	
	@RequestMapping("CadastraUsuario")
	public String Cadastra(Usuario oUsuario){
		UsuarioDAO dao = new UsuarioDAO();
		dao.cadastra(oUsuario);
		return "redirect:MostraListaUsuario";
	}
	
	@RequestMapping("MostraListaUsuario")
	public String Lista(Model model){
		UsuarioDAO dao = new UsuarioDAO();
		List<Usuario> usuarios = dao.lista();
		model.addAttribute("usuarios", usuarios);
		return "Usuario/listaUsuario";
	}
	
	@RequestMapping("Logout")
	public String logout(HttpSession session){
		session.invalidate();
		return "redirect:MostraAutenticar";
	}
	
	@RequestMapping("RemoveUsuario")
	public String remove(Usuario ousuario){
		UsuarioDAO dao = new UsuarioDAO();
		dao.removerUsuario(ousuario);
		return "redirect:MostraListaUsuario";
	}
	
	@RequestMapping("MostraAlteraUsuario")
	public String mostraaltera(int id, Model model){
		UsuarioDAO dao = new UsuarioDAO();
		model.addAttribute("ousuario",dao.buscaUsuario(id));
		return "Usuario/alteraUsuario";
	}
	
	@RequestMapping("AlteraUsuario")
	public String alterausuario(Usuario ousuario){
		UsuarioDAO dao = new UsuarioDAO();
		dao.alterausuario(ousuario);
		return "redirect:MostraListaUsuario";
	}
}
